jjsTest.lang.versionTest = function(tst) {
	tst.trace('Entering versionTest');
	var ver1 = new J.version('2.0.0.5.alfa');
	var ver2 = new J.version('264');
	var ver3 = new J.version('264beta');
	var ver4 = new J.version('8.0rc1');
	var ver5 = new J.version('7.2.3.dev');
	
	tst.trace('Checking first assert block');
	tst.assertEquals(2, ver1.major);
	tst.assertEquals(0, ver1.minor);
	tst.assertEquals(0, ver1.patch);
	tst.assertEquals(5, ver1.build);
	tst.assertEquals('alfa', ver1.mod);
	tst.assertEquals('alfa', ver1.stdMod);
	tst.assertTrue(ver1.isAlfa);
	tst.assertFalse(ver1.isDev);
	tst.assertFalse(ver1.isBeta);
	tst.assertFalse(ver1.isProd);
	tst.assertFalse(ver1.isRc);
	tst.assertFalse(ver1.eq('2.0.0.5.beta'));
	tst.assertTrue(ver1.eq('2.0.0.5.a'));
	tst.assertFalse(ver1.lt('2.0.0.04.a'));
	tst.assertFalse(ver1.lt('2.0.0.5.dev'));
	tst.assertTrue(ver1.lt('2.0.0.5.b'));
	tst.assertTrue(ver1.gt('2.0.0.04.a'));
	tst.assertTrue(ver1.gt('2.0.0.5.dev'));
	tst.assertFalse(ver1.gt('2.0.0.5.b'));
	tst.assertEquals('2.0.0.5.alfa',ver1.toStandard());
	
	tst.trace('Checking second assert block');
	tst.assertEquals(264, ver2.major);
	tst.assertNot(ver2.minor);
	tst.assertNot(ver2.patch);
	tst.assertNot(ver2.build);
	tst.assertNot(ver2.mod);
	tst.assertEquals('prod', ver2.stdMod);
	tst.assertFalse(ver2.isAlfa);
	tst.assertFalse(ver2.isDev);
	tst.assertFalse(ver2.isBeta);
	tst.assertTrue(ver2.isProd);
	tst.assertFalse(ver2.isRc);
	tst.assertFalse(ver2.eq('264.0.0.1'));
	tst.assertFalse(ver2.eq('264.0.0.0.b'));
	tst.assertTrue(ver2.eq('264.0.0.0.release'));
	tst.assertFalse(ver2.lt('262'));
	tst.assertFalse(ver2.lt('264.0.0.0'));
	tst.assertTrue(ver2.lt('264.0.0.1'));
	tst.assertTrue(ver2.gt('263'));
	tst.assertTrue(ver2.gt('264.rc1'));
	tst.assertFalse(ver2.gt('264.0.0.1'));
	tst.assertEquals('264.0.0.0.prod',ver2.toStandard());
	
	tst.trace('Checking third assert block');
	tst.assertEquals(264, ver3.major);
	tst.assertNot(ver3.minor);
	tst.assertNot(ver3.patch);
	tst.assertNot(ver3.build);
	tst.assertEquals('beta', ver3.mod);
	tst.assertEquals('beta', ver3.stdMod);
	tst.assertFalse(ver3.isAlfa);
	tst.assertFalse(ver3.isDev);
	tst.assertTrue(ver3.isBeta);
	tst.assertFalse(ver3.isProd);
	tst.assertFalse(ver3.isRc);
	
	tst.trace('Checking forth assert block');
	tst.assertEquals(8, ver4.major);
	tst.assertEquals(0, ver4.minor);
	tst.assertNot(ver4.patch);
	tst.assertNot(ver4.build);
	tst.assertEquals('rc1', ver4.mod);
	tst.assertEquals('rc', ver4.stdMod);
	tst.assertFalse(ver4.isAlfa);
	tst.assertFalse(ver4.isDev);
	tst.assertFalse(ver4.isBeta);
	tst.assertFalse(ver4.isProd);
	tst.assertTrue(ver4.isRc);
	
	tst.trace('Checking fifth assert block');
	tst.assertEquals(7, ver5.major);
	tst.assertEquals(2, ver5.minor);
	tst.assertNot(ver5.patch);
	tst.assertEquals(3, ver5.build);
	tst.assertEquals('dev', ver5.mod);
	tst.assertEquals('dev', ver5.stdMod);
	tst.assertFalse(ver5.isAlfa);
	tst.assertTrue(ver5.isDev);
	tst.assertFalse(ver5.isBeta);
	tst.assertFalse(ver5.isProd);
	tst.assertFalse(ver5.isRc);
};
